Computer systems, such as personal computers, are available in a variety of hardware configurations. The hardware configuration of a computer system specifies the type and amount of each hardware resource that is included into the computer system. A computer system may include a certain type of a central processing unit, a certain type and amount of disk storage, a certain type and amount of memory, and other components such as modems and graphics accelerator boards. The manufacturers of computer systems generally design them so that their configuration can be upgraded after being purchased by a customer. The computer systems can be upgraded by adding hardware resources to improve its performance. For example, a computer system may, when it is sold, be initially configured with 16 megabytes of random access memory ("RAM") and with unfilled sockets available for adding an additional 64 megabytes of RAM. The initial configuration, however, may not include enough hardware resources to meet the user's needs. Even if the computer system initially includes enough hardware resources to meet the user's current needs, the user's needs may change in time so that the resources may not be enough. Consequently, users often upgrade their computer systems by adding additional hardware resources. For example, a user with a computer system that is currently configured with 16 megabytes of RAM, may upgrade to 32 megabytes of RAM by adding 16 megabytes of RAM to allow more programs to reside in RAM simultaneously. Also, a user may add an additional modem or replace an existing modem with a faster modem to increase communications speed. A user may also add a graphics accelerator board to reduce the time needed to display graphics data.
The upgrading of a computer system, however, can be problematic for most computer users. The upgrading may involve removing the cover of the computer system, removing various boards on the computer system, and installing new chips or additional boards. Because users are generally not technically knowledgeable about computer system hardware, the users are typically apprehensive about performing the upgrades themselves. As a result, when an upgrade is needed, a user will typically pay a technical specialist to perform the upgrade. The use of a technical specialist, however, may greatly increase the cost of the upgrade. Moreover, even a technical specialist may have difficulty in performing some upgrades. For example, when additional memory is added, the chips may need to be inserted into sockets. In the process of inserting the chips into a socket, the leads on the chips may be broken or bent rendering the chips useless. Also, it may be difficult for a technical specialist to even determine which types of memory are compatible with the computer system.